package acm.蓝桥18;

import java.util.Scanner;

public class B翻转数字 {
    /**
     * 每个数只依赖前面比它大的数
     * dp[i][j]：i到j中的所有反转方案
     * 选择所有比原数值小的方案数
     */
    static int[]arr;
    static int n;
    static int maxN=50001;

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        String line = sc.nextLine();
        n=line.length();
        arr=new int[n];
        for (int i = 0; i < arr.length; i++) {
            arr[i]=line.charAt(i);
        }
        long res=0;
        for (int i = 1; i < arr.length; i++) {
            for (int j = 0; j < i; j++) {
                if (arr[j]>arr[i]||(arr[j]==arr[i]&&check(j,i))){
                    res++;
                }
            }
        }
        System.out.println(res);
    }
    public static boolean check(int l,int r){
        while (l<r){
            if (arr[l]<arr[r]){
                return false;
            }else if (arr[l]>arr[r]){
                return true;
            }
            l++;
            r--;
        }
        return arr[l]>arr[r];
    }
}
